package com.cmict.data.bpm.enums.definition;

import lombok.AllArgsConstructor;
import lombok.Getter;

/**
 * BPM 模型的表单类型的枚举
 *
 * @author awesome
 */
@Getter
@AllArgsConstructor
public enum BpmModelFormTypeEnum {

    NORMAL(10, "流程表单"), // 对应 BpmFormDO

    CUSTOM(20, "业务表单"), // 对应sysForm
    // 业务自己定义的表单，自己进行数据的存储
    EXTERNAL(30, "外部表单"); // 业务自己定义的表单，使用JSON格式的文件描述表单

    private final Integer type;
    private final String desc;

    public static BpmModelFormTypeEnum typeOf( Integer type) {
        if (type != null) {
            for (BpmModelFormTypeEnum typeEnum : BpmModelFormTypeEnum.values()) {
                if (type.equals(typeEnum.getType())) {
                    return typeEnum;
                }
            }
        }
        return CUSTOM;
    }
}
